package com.isdepci.project.carbon.domain;

import com.isdepci.framework.aspectj.lang.annotation.Excel;
import com.isdepci.framework.web.domain.BaseEntity;

import java.math.BigDecimal;

/**
 * 减排路径记录对象 a_emission_path_log
 *
 * @author isdepci
 * @date 2024-11-12
 */
public class EmissionPathLog extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** ID */
    private Long id;

    /** 门类 */
    @Excel(name = "门类")
    private String level0;

    /** 大类 */
    @Excel(name = "大类")
    private String level1;

    /** 中类 */
    @Excel(name = "中类")
    private String level2;

    /** 小类 */
    @Excel(name = "小类")
    private String level3;

    /** 产品名称 */
    @Excel(name = "产品名称")
    private String productName;

    /** 产品库 */
    @Excel(name = "产品库")
    private Long productId;

    /** 所属企业 */
    @Excel(name = "所属企业")
    private Long enterpriseId;

    /** 产品批次 */
    @Excel(name = "产品批次")
    private String productBatch;

    private String name;
    /** 因子分类 */
    @Excel(name = "因子分类")
    private String categorizeCode;
    private String oldCategorizeCode;

    /** 1上游排放  2下游排放 */
    @Excel(name = "1上游排放  2下游排放")
    private Integer factorType;

    /** 系数 */
    @Excel(name = "系数")
    private BigDecimal factorNum;

    /** 系数 */
    @Excel(name = "系数")
    private BigDecimal oldFactorNum;

    public EmissionPathLog(){}
    public EmissionPathLog(ProductCarbon carbon,ProductCarbonConsumables old,ProductCarbonConsumables nowItem){
        this.level0 = carbon.getLevel0();
        this.level1 = carbon.getLevel1();
        this.level2 = carbon.getLevel2();
        this.level3 = carbon.getLevel3();
        this.productName = carbon.getProductName();
        this.productId = carbon.getProductId();
        this.enterpriseId = carbon.getEnterpriseId();
        this.productBatch = carbon.getProductBatch();
        this.factorType = old.getFactorType();
        this.name = old.getName();

        this.oldCategorizeCode = old.getCategorizeCode();
        this.oldFactorNum = old.getFactorNum();

        this.categorizeCode = nowItem.getCategorizeCode();
        this.factorNum = nowItem.getFactorNum();
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getOldCategorizeCode() {
        return oldCategorizeCode;
    }

    public void setOldCategorizeCode(String oldCategorizeCode) {
        this.oldCategorizeCode = oldCategorizeCode;
    }

    public void setId(Long id)
    {
        this.id = id;
    }

    public Long getId()
    {
        return id;
    }
    public void setLevel0(String level0)
    {
        this.level0 = level0;
    }

    public String getLevel0()
    {
        return level0;
    }
    public void setLevel1(String level1)
    {
        this.level1 = level1;
    }

    public String getLevel1()
    {
        return level1;
    }
    public void setLevel2(String level2)
    {
        this.level2 = level2;
    }

    public String getLevel2()
    {
        return level2;
    }
    public void setLevel3(String level3)
    {
        this.level3 = level3;
    }

    public String getLevel3()
    {
        return level3;
    }
    public void setProductName(String productName)
    {
        this.productName = productName;
    }

    public String getProductName()
    {
        return productName;
    }
    public void setProductId(Long productId)
    {
        this.productId = productId;
    }

    public Long getProductId()
    {
        return productId;
    }
    public void setEnterpriseId(Long enterpriseId)
    {
        this.enterpriseId = enterpriseId;
    }

    public Long getEnterpriseId()
    {
        return enterpriseId;
    }
    public void setProductBatch(String productBatch)
    {
        this.productBatch = productBatch;
    }

    public String getProductBatch()
    {
        return productBatch;
    }
    public void setCategorizeCode(String categorizeCode)
    {
        this.categorizeCode = categorizeCode;
    }

    public String getCategorizeCode()
    {
        return categorizeCode;
    }
    public void setFactorType(Integer factorType)
    {
        this.factorType = factorType;
    }

    public Integer getFactorType()
    {
        return factorType;
    }
    public void setFactorNum(BigDecimal factorNum)
    {
        this.factorNum = factorNum;
    }

    public BigDecimal getFactorNum()
    {
        return factorNum;
    }
    public void setOldFactorNum(BigDecimal oldFactorNum)
    {
        this.oldFactorNum = oldFactorNum;
    }

    public BigDecimal getOldFactorNum()
    {
        return oldFactorNum;
    }

}
